package com.jyxd.web.dao.basic;

import com.jyxd.web.data.basic.BloodSugar;
import com.jyxd.web.data.dto.BloodSugarDTO;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface BloodSugarDao {

    /**
     * 新增一条血糖表记录
     * @param bloodSugar
     * @return boolean
     */
    boolean insert(BloodSugar bloodSugar);

    /**
     * 根据主键id查询一条血糖表记录
     * @param id
     * @return BloodSugar
     */
    BloodSugar queryData(String id);

    /**
     * 更新一条血糖表记录
     * @param bloodSugar
     * @return boolean
     */
    boolean update(BloodSugar bloodSugar);

    /**
     * 删除一条血糖表记录
     * @param bloodSugar
     * @return boolean
     */
    boolean delete(BloodSugar bloodSugar);

    /**
     * 根据条件分页查询血糖表记录列表
     * @param map
     * @return list
     */
    List<BloodSugar> queryList(Map<String, Object> map);

    /**
     * 根据条件查询列表总记录数
     * @param map
     * @return
     */
    int queryNum(Map<String, Object> map);

    /**
     * 根据时间查询在科病人的血糖信息
     * @param map
     * @return
     */
    List<Map<String, Object>> getListByTime(Map<String, Object> map);

    /**
     * 根据病人id code 时间 查询血糖对象
     * @param map
     * @return
     */
     BloodSugar queryDataByCodeAndPatientId(Map<String,Object> map);
    /**
     * 根据id查询血糖对象
     * @param map
     * @return
     */
    BloodSugar queryDataById(Map<String,Object> map);

    /**
     * 根据时间和病人id查询血糖列表
     * @param map
     * @return
     */
     List<BloodSugar> queryListByTimeAndPatientId(Map<String,Object> map);

    /**
     * 护理文书--血糖监测--根据病人id 和 时间查询血糖列表
     * @param map
     * @return
     */
     List<Map<String,Object>> getList(Map<String,Object> map);

    /**
     * 批量添加
     * @param list
     * @return
     */
    boolean insertBatch(List<BloodSugar> list);

    /**
     * 根据rowid查询数据
     * @param rowId
     * @return
     */
    List<BloodSugar> queryListByRowId(String rowId);

    /**
     * 查询某个患者的血糖数据
     * @param patientId
     */
    List<BloodSugar> queryDataNew(String patientId);

    /**
     * 根据患者id，页码和每页数量查询数据
     * @param map
     * @return
     */
    List<BloodSugarDTO> queryDataByPageAndPatientId(Map<String,Object> map);

    /**
     * 查询最大页数
     * @param patientId
     * @return
     */
    int queryNumByPatientId(String patientId);
    /**
     * 根据关联表id查询血糖数据
     * @param relevancyId
     * @return
     */
    BloodSugar queryByRelevancyId(String relevancyId);
}
